package homework;

import java.util.LinkedList;
import java.util.Queue;

/**
 * 使用一个队列实现栈：
 * 把x直接放到q的队尾，然后执行n-1次出队入队操作；
 */
public class MyStack4 {

    private Queue<Integer> q;


    public MyStack4() {
        q = new LinkedList<>();
    }


    public void push(int x) {

        // 首先，将 x 入队
        q.add(x);

        // 执行 n - 1 次出队再入队的操作
        for(int i = 1; i < q.size(); i ++)
            q.add(q.remove());
    }


    public int pop() {
        return q.remove();
    }


    public int top() {
        return q.peek();
    }


    public boolean empty() {
        return q.isEmpty();
    }
}